<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body {
            background-color: #bbb;
        }

        #canvas {
            background-color: #fff;
        }
    </style>
</head>

<body>
    <canvas id="canvas" width="400" height="400"></canvas>
    <textarea id="log"></textarea>
</body>
<script src="./utils.js"></script>
<script>
    window.onload = () => {
        var canvas = document.getElementById("canvas");
        var context = canvas.getContext("2d");
        var log = document.getElementById("log");
        var mouse = utils.captureMouse(canvas);

        var rect = {
            x: canvas.width / 2,
            y: canvas.height / 2,
        };
        (function drawFrame() {
            window.requestAnimationFrame(drawFrame, canvas);
            context.clearRect(0, 0, canvas.width, canvas.height);

            var dx = rect.x - mouse.x,
                dy = rect.y - mouse.y,
                dist = Math.sqrt(dx * dx + dy * dy);

            context.fillStyle = "#000000";
            context.fillRect(rect.x - 2, rect.y - 2, 4, 4);

            context.beginPath();
            context.moveTo(rect.x, rect.y);
            context.lineTo(mouse.x, mouse.y);
            context.closePath();
            context.stroke();

            log.value = "distance：" + dist;
        }())
    };
</script>

</html>